System and method for uniform disaster recovery system access

ABSTRACT

A method, with a corresponding system and computer program product, for directing access to a server data processing system The method includes storing a first uniform resource locator and a associated with a first network address, where the first network address corresponds to a primary server data processing system and storing a second uniform resource locator and associated with a second network address, where the second network address corresponds to a disaster recovery server data processing system. The method also includes returning the first network address in response to calls for the first uniform resource locator when the primary server data processing system is operating normally and returning the second network address in response to calls for the first uniform resource locator when the primary server data processing system is unavailable (i.e., in the event of a “disaster”).

TECHNICAL FIELD OF THE INVENTION

The present invention is directed, in general, to networked data processing systems, and in particular to networked data processing system disaster recovery activities.

BACKGROUND OF THE INVENTION

Businesses rely on data processing systems to manage a wide range of internal and external functions, including accounting and inventory functions, data management functions, and many others. Further, many of these systems must be available to be accessed over local or wide-area data processing system networks, including both private networks and public networks such as the internet.

In the event of a “disaster,” which can include both actual natural disasters and other events, a primary system may be “down” or otherwise unavailable, which can be costly and damaging. In response, many businesses and other enterprises maintain “disaster recovery” systems or environments, which can include redundant systems that provide some or all of the functions of the primary systems, and typically include full backups of all the data available to the primary systems. In this way, in the event of a disaster, users can transition to the disaster recovery environment until the primary system can be restored, thus minimizing lost productivity.

Unfortunately, there is currently no uniform and reliable way for a user to effectively contact the disaster recovery environment in the event of a disaster, and no standard and effective way for the disaster recovery system to be tested on a routine basis without disrupting operation of the primary system. There is, therefore, a need in the art for a system and method for uniform disaster recovery system access.

SUMMARY OF THE INVENTION

Various embodiments include a method and corresponding systems and computer program products, for directing access to a server data processing system. The method includes storing a first uniform resource locator associated with a first network address, where the first network address corresponds to a primary server data processing system and storing a second uniform resource locator associated with a second network address, where the second network address corresponds to a disaster recovery server data processing system. The method also includes returning the first network address in response to calls for the first uniform resource locator when the primary server data processing system is operating normally and returning the second network address in response to calls for the first uniform resource locator when the primary server data processing system is unavailable (i.e. In the event of a “disaster”). For purpose of testing, an alternative method includes returning the second network address in response to calls for the second uniform resource locator while the primary server data processing system is operating normally.

The foregoing has outlined rather broadly the features and technical advantages of the present invention so that those skilled in the art may better understand the detailed description of the invention that follows. Additional features and advantages of the invention will be described hereinafter that form the subject of the claims of the invention. Those skilled in the art will appreciate that they may readily use the conception and the specific embodiment disclosed as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. Those skilled in the art will also realize that such equivalent constructions do not depart from the spirit and scope of the invention in its broadest form.

Before undertaking the DETAILED DESCRIPTION OF THE INVENTION below, it may be advantageous to set forth definitions of certain words or phrases used throughout this patent document: the terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation; the term “or” is inclusive, meaning and/or; the phrases “associated with” and “associated therewith,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like; and the term “controller” means any device, system or part thereof that controls at least one operation, whether such a device is implemented in hardware, firmware, software or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. Definitions for certain words and phrases are provided throughout this patent document, and those of ordinary skill in the art will understand that such definitions apply in many, if not most, instances to prior as well as future uses of such defined words and phrases.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, wherein like numbers designate like objects, and in which:

FIG. 1 depicts a block diagram of a data processing system in which a preferred embodiment can be implemented;

FIG. 2 depicts a data processing system network in which an embodiment of the present disclosure can be implemented; and

FIG. 3 depicts a flowchart of a process in accordance with a preferred embodiment.

DETAILED DESCRIPTION OF THE INVENTION

FIGS. 1 through 3, discussed below, and the various embodiments used to describe the principles of the present invention in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the invention. Those skilled in the art will understand that the principles of the present invention may be implemented in any suitably arranged device. The numerous innovative teachings of the present application will be described with particular reference to the presently preferred embodiment.

FIG. 1 depicts a block diagram of a data processing system in which a preferred embodiment can be implemented. The data processing system depicted includes a processor 102 connected to a level two cache/bridge 104, which is connected in turn to a local system bus 106. Local system bus 106 may be, for example, a peripheral component interconnect (PCI) architecture bus. Also connected to local system bus in the depicted example are a main memory 108 and a graphics adapter 110.

Other peripherals, such as local area network (LAN)/Wide Area Network/Wireless (e.g. WiFi) adapter 112, may also be connected to local system bus 106. Expansion bus interface 114 connects local system bus 106 to input/output (I/O) bus 116. I/O bus 116 is connected to keyboard/mouse adapter 118, disk controller 120, and I/O adapter 122.

Also connected to I/O bus 116 in the example shown is audio adapter 124, to which speakers (not shown) may be connected for playing sounds. Keyboard/mouse adapter 118 provides a connection for a pointing device (not shown), such as a mouse, trackball, trackpointer, etc.

Those of ordinary skill in the art will appreciate that the hardware depicted in FIG. 1 may vary for particular. For example, other peripheral devices, such as an optical disk drive and the like, also may be used in addition or in place of the hardware depicted. The depicted example is provided for the purpose of explanation only and is not meant to imply architectural limitations with respect to the present invention.

A data processing system in accordance with a preferred embodiment of the present invention includes an operating system employing a graphical user interface. The operating system permits multiple display windows to be presented in the graphical user interface simultaneously, with each display window providing an interface to a different application or to a different instance of the same application. A cursor in the graphical user interface may be manipulated by a user through the pointing device. The position of the cursor may be changed and/or an event, such as clicking a mouse button, generated to actuate a desired response.

One of various commercial operating systems, such as a version of Microsoft Windows™, a product of Microsoft Corporation located in Redmond, Wash. may be employed if suitably modified. The operating system is modified or created in accordance with the present invention as described.

FIG. 2 depicts a data processing system network in which an embodiment of the present disclosure can be implemented. FIG. 2 depicts client data processing system 210, domain name server (DNS) 220, server data processing system 230, and disaster-recovery (DR) server data processing system 240, all connected to communicate with network 250. Network 250 can be implemented using any known public or private data processing system network, or can be more than one network configured to communicate with each other, and can include the Internet. Each of the data processing systems 210, 220, 230, and 240 can be implemented, for example, as in data processing system 100, or can be modified as required for each particular implementation, as known to those of skill in the art, so long as they each can perform the respective functions as described herein.

In this exemplary embodiment, client data processing system 210 is a data processing system connected to communicate with network 250, and thereby to communicate with various other network-connected systems. Data processing system 210 preferably includes a browser such as MICROSOFT INTERNET EXPLORER.

DNS 220, in this example, is a domain name server system. Although only one block is used here to represent DNS 220, those of skill in the art will recognize that domain name resolution processes will often involve multiple different servers, such as a local DNS server, a root server, a top level domain name server, etc., all of which act together to resolve domain names and uniform resource locators (URLs) into the corresponding internet protocol (IP) addresses. The conventional processes for such a resolution are well known to those of skill in the art, and so to simplify the illustration of FIG. 2, only a single block for DNS 220 is shown.

Server data processing system 230 can represent any server system or a combination of multiple systems that deliver data or other services over the network 250. DR server data processing system 240, as used in this example, is preferably a fully redundant backup system or systems to server data processing system 230 that is capable of delivering or performing some or all of the same services as server data processing system 230 in the event that server data processing system is unavailable over network 250.

According to various disclosed embodiments, DNS 220 includes one or more DNS entries in a storage 225 indicating the URL addresses and corresponding IP addresses for server data processing system 230, which will be referred to herein as production URLS. Further, DNS 220 includes one or more secondary URLs, referred to herein as disaster recovery URLS or DR URLs, corresponding to the production URLS, that indicate instead the IP address(es) of DR server data processing system 240.

By defining corresponding production URLs and DR URLs in the DNS 220 to point to the IP addresses of the server data processing system 230 and DR server data processing system 240, respectively, users can be assured of a means for readily contacting the DR server data processing system 240 for either testing purposes or in the event that server data processing system 230 is unavailable. DNS 220 is preferably configured to return the IP address of the server data processing system 230 in response to calls for the production URL when the server data processing system is operating normally, to return the IP address of the server data processing system 240 in response to calls for the production URL when the server data processing system 230 is unavailable. For purpose of testing, preferably, the DR URL in the DNS 220 points to the IP addresses of the DR server data processing system 240 whether or not the server data processing system 230 is operating normally.

Preferably, there will be two URLs defined in the DNS for each server system instead of one, i.e., a DR URL and a production URL, to point to a DR IP address and production IP address respectively.

For purposes of testing the DR server data processing system 240, the DR URL can be used (as described above). In the event of a “disaster”, including unavailability of server data processing system 230, the DNS entry in DNS 220 for production URL should be updated to point to the IP address of the DR data processing server 240 for seamless replacement. The DNS 220 can store the IP address of the DR data processing server 240 associated with the production URL when the server data processing system 230 is unavailable.

In various embodiments, the DR URL has a standard naming convention where the term “DR” is placed in front of the production URL to form the DR URL. For example, if a production URL has been defined as http://example.com then the DR URL is preferably defined as http://dr.example.com, using “dr” as the subdomain. Note that a standard internet web URL such as http://dr.example.com, the hierarchical order of the five elements is com (generic top-level domain)—example (second-level domain)—dr (subdomain). In preferred embodiments, for a server located at URL http://example.com, the corresponding DR URL will include the dr subdomain as http://dr.example.com.

Of course, the DR URL can be any suitable URL and achieve the same result, including a DR URL formed by modifying or changing the production URL by adding another word or character in front of the production URL. So long as the DR URL points to the DR server data processing system, it will still achieve the same result. However, the use of a consistent naming convention for DR URLs as described above will encourage a smooth transition to the DR servers in the event that becomes necessary. In some embodiments, particularly when a uniform naming convention is used for the DR server, the DNS server can associate the production URL with both the network address of the production server and the network address of the DR server, and automatically redirect calls to the DR server when the production server is unavailable or when the DR URL or URL subdomain is used.

FIG. 3 depicts a flowchart of a process in accordance with a preferred embodiment.

A first URL, preferably the production URL, is assigned to a server data processing system (step 305). The first URL is stored together with a first network address corresponding to the server data processing system (step 310). In a preferred embodiment, the URL and the first network address are stored in a DNS server, and the first network address is an IP address. Preferably the server data processing system is a production data processing system as described above.

A second URL, preferably the DR URL, is assigned to a DR server data processing system (step 315), which preferably is a backup system for some of all of the functions of the server data processing system. The second URL is stored together with a second network address corresponding to the DR server data processing system (step 320). In a preferred embodiment, the DR URL and second network address are stored in a DNS server, and the second network address is an IP address.

Preferably, as described above, the second URL is substantially similar to the first URL, with a “dr” subdomain indicator indicating it is the URL address for the disaster recovery system.

If the server data processing system is operating normally (step 325), then calls to the first URL are directed to the first network address (step 330). If the production server data processing system is unavailable, e.g., in the event of a “disaster,” then calls to the first URL are directed to the second network address (step 335). One way in which this can be implemented is by updating the DNS record associated with the first URL to indicate the second network address.

Those skilled in the art will recognize that, for simplicity and clarity, the full structure and operation of all data processing systems suitable for use with the present invention is not being depicted or described herein. Instead, only so much of a data processing system as is unique to the present invention or necessary for an understanding of the present invention is depicted and described. The remainder of the construction and operation of data processing system 100 may conform to any of the various current implementations and practices known in the art.

It is important to note that while the present invention has been described in the context of a fully functional system, those skilled in the art will appreciate that at least portions of the mechanism of the present invention are capable of being distributed in the form of a instructions contained within a machine usable medium in any of a variety of forms, and that the present invention applies equally regardless of the particular type of instruction or signal bearing medium utilized to actually carry out the distribution. Examples of machine usable mediums include: nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD-ROMs) or digital versatile disks (DVDs), and transmission type mediums such as digital and analog communication links.

Although an exemplary embodiment of the present invention has been described in detail, those skilled in the art will understand that various changes, substitutions, variations, and improvements of the invention disclosed herein may be made without departing from the spirit and scope of the invention in its broadest form.

None of the description in the present application should be read as implying that any particular element, step, or function is an essential element which must be included in the claim scope: THE SCOPE OF PATENTED SUBJECT MATTER IS DEFINED ONLY BY THE ALLOWED CLAIMS. Moreover, none of these claims are intended to invoke paragraph six of 35 USC §112 unless the exact words “means for” are followed by a participle. 

1. A method for directing access to a server data processing system, comprising: storing a first uniform resource locator associated with a first network address, where the first network address corresponds to a server data processing system; storing a second uniform resource locator associated with a second network address, where the second network address corresponds to a disaster recovery server data processing system; returning the first network address in response to calls for the first uniform resource locator when the server data processing system is operating normally; and returning the second network address in response to calls for the first uniform resource locator when the server data processing system is unavailable.
 2. The method of claim 1, wherein the disaster recovery server data processing system is capable of performing at least one data processing service in place of the server data processing system.
 3. The method of claim 1, wherein the second uniform resource locator is a subdomain of the first uniform resource locator.
 4. The method of claim 1, further comprising returning the second network address in response to calls for the second uniform resource locator.
 5. The method of claim 1, further comprising storing the second network address associated with the first uniform resource locator when the server data processing system is unavailable.
 6. The method of claim 1, wherein the server data processing system includes multiple data processing systems.
 7. The method of claim 1, wherein the disaster recovery server data processing system is accessible by the second uniform resource locator whether or not the server data processing system is operating normally.
 8. A domain name server data processing system including at least a processor and storage, comprising: a first uniform resource locator associated with a first network address stored in the storage, where the first network address corresponds to a server data processing system; and a second uniform resource locator associated with a second network address stored in the storage, where the second network address corresponds to a disaster recovery server data processing system; wherein the domain name server data processing system is configured to return the first network address in response to calls for the first uniform resource locator when the server data processing system is operating normally, and to return the second network address in response to calls for the first uniform resource locator when the server data processing system is unavailable.
 9. The domain name server data processing system of claim 8, wherein the disaster recovery server data processing system is capable of performing at least one data processing service in place of the server data processing system.
 10. The domain name server data processing system of claim 8, wherein the second uniform resource locator is a subdomain of the first uniform resource locator.
 11. The domain name server data processing system of claim 8, further comprising returning the second network address in response to calls for the second uniform resource locator.
 12. The domain name server data processing system of claim 8, wherein the second network address is associated with the first uniform resource locator when the server data processing system is unavailable.
 13. The domain name server data processing system of claim 8, wherein the second network address is also associated with the first uniform resource locator.
 14. The domain name server data processing system of claim 8, wherein the disaster recovery server data processing system is accessible by the second uniform resource locator whether or not the server data processing system is operating normally.
 15. A computer program product tangibly embodied in a machine-usable medium, comprising: instructions for storing a first uniform resource locator associated with a first network address, where the first network address corresponds to a server data processing system; instructions for storing a second uniform resource locator associated with a second network address, where the second network address corresponds to a disaster recovery server data processing system; instructions for returning the first network address in response to calls for the first uniform resource locator when the server data processing system is operating normally; and instructions for returning the second network address in response to calls for the first uniform resource locator when the server data processing system is unavailable.
 16. The computer program product of claim 15, wherein the disaster recovery server data processing system is capable of performing at least one data processing service in place of the server data processing system.
 17. The computer program product of claim 15, wherein the second uniform resource locator is a subdomain of the first uniform resource locator.
 18. The computer program product of claim 15, further comprising instructions for returning the second network address in response to calls for the second uniform resource locator.
 19. The computer program product of claim 15, further comprising instructions for storing the second network address associated with the first uniform resource locator when the server data processing system is unavailable.
 20. The computer program product of claim 15, wherein the server data processing system includes multiple data processing systems.
 21. The computer program product of claim 15, wherein the disaster recovery server data processing system is accessible by the second uniform resource locator whether or not the server data processing system is operating normally. 